日期时间模块
日期时间模块 datetime 在处理日期和时间相关的问题时,非常有用。主要有以下一些方法和属性:
date
date 类包含三个参数,分别为 year,month,day,返回格式为 year-month-day。
python
import datetime
print('今天的日期是:',datetime.date.today()) # 今日的日期
print('使用时间戳创建的日期:',datetime.date.fromtimestamp(1234567896)) # 使用时间戳创建日期
print('使用公历序数创建的日期:',datetime.date.fromordinal(1)) # 使用公历序数创建的日期
today = datetime.date(year=2020,month=8,day=31) # 使用参数创建日期
print('date对象的年份:', today.year)
print('date对象的月份:', today.month)
print('date对象的日:', today.day)
print('date对象的struct_time结构为:',today.timetuple())
print('返回当前公历日期的序数:',today.toordinal()) # 与fromordinal函数作用相反
print('当前日期为星期(其中:周一对应0):{}'.format(today.weekday()))
print('当前日期为星期(其中:周一对应1):{}'.format(today.isoweekday()))
print('当前日期的年份、第几周、周几(其中返回为元组):',today.isocalendar())
print('以ISO 8601格式‘YYYY-MM-DD’返回date的字符串形式:',today.isoformat())
print('返回一个表示日期的字符串(其格式如:Mon Aug 31 00:00:00 2020):',today.ctime())
print('指定格式为:',today.strftime('%Y/%m/%d'))
print('替换后的日期为:',today.replace(2019,9,29))
time
time 类包含六个参数,分别为 hour,minute,second,microsecond,tzinfo,fold,返回格式为 hour:minute:second(.microsecond)。常用的参数有:hour、minute、second 三个。
python
import datetime
create_time = datetime.time(hour=11,minute=18,second=31) # 使用参数创建日期
print('create_time对象的小时为:', create_time.hour)
print('create_time对象的分钟为:', create_time.minute)
print('create_time对象的秒数为:', create_time.second)
print('返回create_time的字符串形式:',create_time.isoformat())
print('指定格式为:',create_time.strftime('%H/%M/%S'))
print('替换后的时间为:',create_time.replace(20,9,29))
datetime
datetime 类可以看作 date 和 time 类的合体,其包含了这两个类中的全部参数
python
import datetime
print('现在的时间是:',datetime.datetime.today())
print('返回现在的时间是:',datetime.datetime.now())
print('当前UTC日期和时间是:',datetime.datetime.utcnow())
print('对应时间戳的日期和时间是:',datetime.datetime.fromtimestamp(1234567896))
print('对应UTC时间戳的日期和时间是:',datetime.datetime.utcfromtimestamp(1234567896))
print('公历序列对应的日期和时间是:',datetime.datetime.fromordinal(1))
print('日期和时间的合体为:',datetime.datetime.combine(datetime.date(2020, 8, 31), datetime.time(12, 12, 12)))
日期时间格式化
python
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身